<?php
/*
 * Copyright (c) 2017-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Cwp\V20180228\Models;
use TencentCloud\Common\AbstractModel;

/**
 * DescribeVersionStatistics response structure.
 *
 * @method integer getBasicVersionNum() Obtain Number of Basic editions
 * @method void setBasicVersionNum(integer $BasicVersionNum) Set Number of Basic editions
 * @method integer getProVersionNum() Obtain Number of Professional editions
 * @method void setProVersionNum(integer $ProVersionNum) Set Number of Professional editions
 * @method integer getUltimateVersionNum() Obtain Number of Ultimate editions
 * @method void setUltimateVersionNum(integer $UltimateVersionNum) Set Number of Ultimate editions
 * @method integer getGeneralVersionNum() Obtain Number of General Discount Editions
 * @method void setGeneralVersionNum(integer $GeneralVersionNum) Set Number of General Discount Editions
 * @method string getRequestId() Obtain The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 * @method void setRequestId(string $RequestId) Set The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 */
class DescribeVersionStatisticsResponse extends AbstractModel
{
    /**
     * @var integer Number of Basic editions
     */
    public $BasicVersionNum;

    /**
     * @var integer Number of Professional editions
     */
    public $ProVersionNum;

    /**
     * @var integer Number of Ultimate editions
     */
    public $UltimateVersionNum;

    /**
     * @var integer Number of General Discount Editions
     */
    public $GeneralVersionNum;

    /**
     * @var string The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    public $RequestId;

    /**
     * @param integer $BasicVersionNum Number of Basic editions
     * @param integer $ProVersionNum Number of Professional editions
     * @param integer $UltimateVersionNum Number of Ultimate editions
     * @param integer $GeneralVersionNum Number of General Discount Editions
     * @param string $RequestId The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("BasicVersionNum",$param) and $param["BasicVersionNum"] !== null) {
            $this->BasicVersionNum = $param["BasicVersionNum"];
        }

        if (array_key_exists("ProVersionNum",$param) and $param["ProVersionNum"] !== null) {
            $this->ProVersionNum = $param["ProVersionNum"];
        }

        if (array_key_exists("UltimateVersionNum",$param) and $param["UltimateVersionNum"] !== null) {
            $this->UltimateVersionNum = $param["UltimateVersionNum"];
        }

        if (array_key_exists("GeneralVersionNum",$param) and $param["GeneralVersionNum"] !== null) {
            $this->GeneralVersionNum = $param["GeneralVersionNum"];
        }

        if (array_key_exists("RequestId",$param) and $param["RequestId"] !== null) {
            $this->RequestId = $param["RequestId"];
        }
    }
}
